package com.liqi.system.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;

import com.liqi.system.domain.SysRegion;
import com.liqi.system.domain.dto.RegionDto;
import com.liqi.system.domain.vo.SysRegionVo;

/**
 * 行政区域管理Mapper接口
 *
 * @author ymh
 * @date 2022-02-21
 */
@Mapper
public interface SysRegionMapper
{
    /**
     * 根据parentId 查询行政区域管理列表
     * @param parentId 对应的parentId
     * @return 行政区域管理集合
     */
    public List<SysRegion> selectSysRegionListByParentId(Long parentId);

    /**
     * 查询行政区域管理
     *
     * @param id 行政区域管理主键
     * @return 行政区域管理
     */
    public SysRegion selectSysRegionById(String id);

    /**
     * 查询行政区域管理列表
     *
     * @param sysRegion 行政区域管理
     * @return 行政区域管理集合
     */
    public List<SysRegion> selectSysRegionList(SysRegion sysRegion);

    /**
     * 新增行政区域管理
     *
     * @param sysRegion 行政区域类
     * @return 结果
     */
    public int insertSysRegion(SysRegion sysRegion);

    /**
     * 修改行政区域管理
     *
     * @param sysRegion 行政区域类
     * @return 结果
     */
    public int updateSysRegion(SysRegion sysRegion);

    /**
     * 删除行政区域管理
     *
     * @param id 行政区域管理主键
     * @return 结果
     */
    public int deleteSysRegionById(String id);

    /**
     * 批量删除行政区域管理
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteSysRegionByIds(String[] ids);
    /**
     * 级联菜单显示
     *
     * @param sysRegionVo 行政区域类
     * @return 结果
     */
    public List<SysRegionVo> selectSysRegionData(SysRegionVo sysRegionVo);
    /**
     * 返回前两级区域行政区域
     *
     * @return 结果
     */
    public List<SysRegionVo> selectSysRegionLevel2();

    List<RegionDto> getRegionlist(Long parentId);

}
